package board.animation;
/** A base outline for animations
 *  on the grid.  These animations
 *  render on the occupants of the
 *  grid.  
 * 
 * @author R.Wisniewski1101
 *
 * @param <T> - The type of occupant being rendered.  
 */
public interface Animation<T> {
	/** Set the occupant that is being affected
	 *  by this animation.  
	 * 
	 * @param occupant - the occupant affected by this animation.  
	 */
	public void		setOccupant(T occupant);
	/** Get the occupant being affected by
	 *  this animation.  
	 * 
	 * @return - the occupant affected by this animation.  
	 */
	public T		getOccupant();
	/** Get whether or not this animation
	 *  has another set.  
	 * 
	 * @return - the state of this animation.  
	 */
	public boolean	isComplete();
	/** Progress this animation to its next
	 *  step.  
	 */
	public void		next();
}
